.TH std::pmr::polymorphic_allocator::allocate 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::pmr::polymorphic_allocator::allocate \- std::pmr::polymorphic_allocator::allocate

.SH Synopsis
   T* allocate( std::size_t n );                \fI(since C++17)\fP
                                                \fI(until C++20)\fP
   [[nodiscard]] T* allocate( std::size_t n );  \fI(since C++20)\fP

   Allocates storage for n objects of type T using the underlying memory resource.
   Equivalent to return static_cast<T*>(resource()->allocate(n * sizeof(T),
   alignof(T)));.

.SH Parameters

   n - the number of objects to allocate storage for

.SH Return value

   A pointer to the allocated storage.

.SH Exceptions

   Throws std::bad_array_new_length if n > std::numeric_limits<std::size_t>::max() /
   sizeof(T); may also throw any exceptions thrown by the call to resource()->allocate.

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

      DR    Applied to            Behavior as published              Correct behavior
   LWG 3038 C++17      allocate might allocate storage of wrong     throws length_error
                       size                                         instead
   LWG 3237 C++17      the exception thrown by allocate was         made consistent
                       inconsistent with std::allocator::allocate

.SH See also

   allocate_bytes  allocate raw aligned memory from the underlying resource
   (C++20)         \fI(public member function)\fP
   allocate_object allocates raw memory suitable for an object or an array
   (C++20)         \fI(public member function)\fP
   new_object      allocates and constructs an object
   (C++20)         \fI(public member function)\fP
   allocate        allocates uninitialized storage using the allocator
   \fB[static]\fP        \fI(public static member function of std::allocator_traits<Alloc>)\fP

   allocate        allocates memory
                   \fI(public member function of std::pmr::memory_resource)\fP
